home *** CD-ROM | disk | FTP | other *** search
- {
- > I was sitting here thinking about how usefull it would be to be able
- > to check the status of the different Locks (eg. scroll lock, num lock
- > or how to do it. I think it is some sort of Bios or Dos service??
- > Any help would be greatly appreciated.
-
- The easiest way is to access BIOS memory at address 40h:17h
-
- }
- Procedure TestKeys;
-
- Var
- Scroll_Lock,
- Caps_Lock,
- Num_Lock,
- Ins,
- Alt,
- Ctrl,
- Left_Shift,
- Right_Shift : Boolean;
- Bios_Keys : Byte Absolute $40:$17;
-
- begin
- Ins := ((Bios_Keys And $80) = $80);
- Caps_Lock := ((Bios_Keys And $40) = $40);
- Num_Lock := ((Bios_Keys And $20) = $20);
- Scroll_Lock := ((Bios_Keys And $10) = $10);
- Alt := ((Bios_Keys And $8) = $8);
- Ctrl := ((Bios_Keys And $4) = $4);
- Left_Shift := ((Bios_Keys And $2) = $2);
- Right_Shift := ((Bios_Keys And $1) = $1);
-
- Writeln('Insert : ', Ins);
- Writeln('CapsLock : ', Caps_Lock);
- Writeln('NumLock : ', Num_Lock);
- Writeln('ScrollLock : ', Scroll_Lock);
- Writeln('Alt : ', Alt);
- Writeln('Control : ', Ctrl);
- Writeln('Left Shift : ', Left_Shift);
- Writeln('Right Shift : ', Right_Shift);
- end;
-
- begin
- TestKeys;
- Readln;
- end.